Integrated circuits (ICs) comprise plural cells each consisting of one or more circuit elements, such as transistors, capacitors and other devices, grouped to perform a specific logic function. Each cell has one or more pins which are connected by wires to one or more pins of other cells of the IC. A net is the set of pins connected by the wire; a netlist is a list of nets of the IC. The IC may also include plural functional circuit blocks, such as central processing units, memories and input/output interface units. The cells and circuit blocks are represented as standard designs in technology-specific circuit libraries. The IC is constructed using selected circuit blocks and millions of cells.
Computer aided design (CAD) tools are used in most phases of the circuit design and layout processes. The layout is typically partitioned by grouping the components into blocks defining subcircuits and modules and interconnecting the blocks with wires according to the netlist. Routing channels are defined between the blocks of a layout, and wires connect the blocks along the shortest possible paths within the channels.
One measure of the performance of an IC is expressed by the time delays, including propagation delays and setup/hold delays, within the circuit. Propagation delays include the time required for a signal to travel from the input to the output of a cell. A setup delay is the time required by the cell that a signal must be available at an input prior to a clock signal transition. A hold delay is the time duration that a signal is required to be stable after a clock signal transition.
An important consideration in the design and layout of ICs is the optimization of signal timing through the IC so that signals are available at the correct pin just in time for an event to be performed by the cell. In the past, signal timing optimization was addressed after initial layout of the blocks and during the routing of wires between the blocks. Timing considerations often led to repositioning blocks and re-routing the wires during this design phase. The present invention is directed to a technique of optimization that is applied to the logical equations in operations of the technology basis to maximize signal timing optimization.